42

Algorithms for Binary Neural Networks

  

!" "



!ˈ "

   

!"!" "

 

   

!" "

C

ˆC

M

Q

(a) Modulation process based on an M-Filter.

 

  

"!" " 

   

!"!" "

  

"!" " 

Q

(b) MCNs Convolution (MCconv).

FIGURE 3.2

(a) The modulation process based on an M-Filter to obtain a reconstructed Filter Q. (b)

An example of MCNs convolution with K = 4 planes. The number of planes of the M-Filter

is the same as the number of channels of the feature map. This chapter defines a feature

map as a 3D matrix with four channels.

In MCNs, reconstructed filters Ql in the lth layer are used to calculate output feature

maps F l+1 as:

F l+1 = MCconv(F l, Ql),

(3.15)

where MCconv denotes the convolution operation implemented as a new module. A simple

example of the forward convolutional process is described in Fig. 3.2(b), where there is one

input feature map with one generated output feature map. In MCconv, the channels of one

output feature map are generated as follows:

F l+1

h,k =



i,g

F l

g Ql

ik,

(3.16)

F l+1

h

= (F l+1

h,1 , ..., F l+1

h,K),

(3.17)

wheredenotes the convolution operation; F l+1

h,k is the kth channel of the hth feature map

in the (l +1)th convolutional layer. F l

g denotes the gth feature map in the lth convolutional

layer. In Fig. 3.2(b), h = 1 and g = 1, where after MCconv with one reconstructed filter,

the number of channels in the output feature map is the same as that in the input feature

map.

Figure 3.3 illustrates another example of MCNs convolution with multiple feature maps.

An output feature map is the sum of the convolution between 10 input feature maps and 10

reconstructed filters in the corresponding group. For example, for the first output feature